home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / info / gnus.info-3 < prev    next >
Encoding:
GNU Info File  |  1995-09-01  |  43.5 KB  |  1,075 lines

  1. This is Info file ../info/gnus.info, produced by Makeinfo-1.55 from the
  2. input file gnus.texinfo.
  3.  
  4.    This file documents GNUS, the GNU Emacs newsreader.
  5.  
  6.    Copyright (C) 1989 Fujitsu Laboratories LTD.  Copyright (C) 1990
  7. Masanobu UMEDA.
  8.  
  9.    Permission is granted to make and distribute verbatim copies of this
  10. manual provided the copyright notice and this permission notice are
  11. preserved on all copies.
  12.  
  13.    Permission is granted to copy and distribute modified versions of
  14. this manual under the conditions for verbatim copying, provided also
  15. that the sections entitled "Distribution" and "GNUS General Public
  16. License" are included exactly as in the original, and provided that the
  17. entire resulting derived work is distributed under the terms of a
  18. permission notice identical to this one.
  19.  
  20.    Permission is granted to copy and distribute translations of this
  21. manual into another language, under the above conditions for modified
  22. versions, except that the sections entitled "Distribution" and "GNUS
  23. General Public License" may be included in a translation approved by
  24. the author instead of in the original English.
  25.  
  26. 
  27. File: gnus.info,  Node: Variables,  Next: NNTP Variables,  Prev: Customization,  Up: Customization
  28.  
  29. Common Variables
  30. ================
  31.  
  32. `gnus-nntp-server'
  33.      Specifies the name of the host running the NNTP server.  The
  34.      variable is initialized from the `NNTPSERVER' environment
  35.      variable.  If the server name is preceded by a colon such as
  36.      `:Mail', the user's private directory `~/Mail' is used as a news
  37.      spool.  *Note NNTP Server::, and *note Private Directory::., for
  38.      more information.
  39.  
  40. `gnus-nntp-service'
  41.      Specifies a service name of NNTP, usually a string `"nntp"'.  In a
  42.      few instances, it must be the number `119'.  To use a local news
  43.      spool of your machine rather than NNTP, set the variable to `nil'.
  44.      *Note NNTP Service::, and *note Local News Spool::., for more
  45.      information.
  46.  
  47. `gnus-local-domain'
  48.      Specifies the domain which is the domain part of your mail address
  49.      excluding the local host name of your machine.  The environment
  50.      variable `DOMAINNAME' is used instead if defined.  If the function
  51.      `system-name' returns the full Internet name, there is no need to
  52.      define the domain.  *Note Domain and Organization: Domain, for more
  53.      information.
  54.  
  55. `gnus-local-organization'
  56.      Specifies the organization you belong to.  The environment variable
  57.      `ORGANIZATION' is used instead if defined.  If the value begins
  58.      with a slash, it is taken as the name of a file whose contents are
  59.      read for the value.  *Note Domain and Organization: Domain, for
  60.      more information.
  61.  
  62. `gnus-local-timezone'
  63.      Specifies the local time zone you belong to.  The value can be
  64.      either a time zone name such as `"JST"' or a difference in hour
  65.      from GMT such as `+0900'.  If the variable is non-`nil', a general
  66.      time zone handling package `timezone.el' is used to generate a
  67.      valid date for `Date:' field in terms of RFC822.  Otherwise, if it
  68.      is nil, GNUS generate a date ignoring the local time zone.  If you
  69.      are using Bnews, it is okay since `inews' will rewrite the invalid
  70.      date.  However, if you are using Cnews, you must set the variable
  71.      to the correct time zone or set the variable `gnus-news-system' to
  72.      `Cnews' since `inews' of Cnews does not rewrite the wrong `Date:'
  73.      field.
  74.  
  75. `gnus-use-generic-from'
  76.      Non-`nil' means the local host name of your machine will not appear
  77.      in the `From:' field of article headers.  If the variable is a
  78.      string, it is used as your domain instead of the definition by the
  79.      variable `gnus-local-domain' or the environment variable
  80.      `DOMAINNAME'.  *Note GENERICFROM::, for more information.
  81.  
  82. `gnus-use-generic-path'
  83.      Non-`nil' means the NNTP server name will not appear in the
  84.      `Path:' field of article headers.  If the variable is a string, it
  85.      is used in the `Path:' field as the NNTP server name instead of the
  86.      definition by the variable `gnus-nntp-server'.  *Note
  87.      GENERICPATH::, for more information.
  88.  
  89. `gnus-news-system'
  90.      Specifies news software system name of the news server, such as
  91.      Bnews and Cnews.  It is intended to hide implementation dependent
  92.      differences between news systems.  Current version understands
  93.      `Bnews' and `Cnews'.
  94.  
  95. `gnus-startup-file'
  96.      Specifies a startup file of the Bnews system, usually `.newsrc'.
  97.      If there is a file named `.newsrc-SERVER', it is used instead when
  98.      talking to SERVER.  *Note Startup File::, for more information.
  99.  
  100. `gnus-signature-file'
  101.      Specifies a signature file of the Bnews system, usually
  102.      `.signature'.  If there is a file named `.signature-DISTRIBUTION',
  103.      it is used instead when posting an article in DISTRIBUTION.  Set
  104.      the variable to `nil' to prevent appending the signature file
  105.      automatically.
  106.  
  107. `gnus-use-cross-reference'
  108.      Specifies what to do with cross references (`Xref:' field).  If it
  109.      is `nil', cross references are ignored.  If it is `t', articles in
  110.      subscribed newsgroups are only marked as read.  Otherwise, if it
  111.      is not `nil' nor `t', articles in all newsgroups are marked as
  112.      read.
  113.  
  114. `gnus-use-followup-to'
  115.      Specifies what to do with `Followup-To:' field.  If it is `nil',
  116.      its value is ignored.  If it is non-`nil', its value is used as
  117.      followup newsgroups.  Especially, if it is `t' and you are going
  118.      to followup to an article in which `poster' is specified, your
  119.      confirmation is required.
  120.  
  121. `gnus-use-full-window'
  122.      Non-`nil' means to take up the entire screen of Emacs.  If the
  123.      variable is `nil', the windows used by GNUS will be restricted to
  124.      the bounds of the original window.  This is very useful if you
  125.      want to read articles while you do other work in other windows.
  126.  
  127. `gnus-window-configuration'
  128.      Specifies the configuration of the Group Mode window, the Subject
  129.      Mode window, and the Article Mode window.  The window
  130.      configuration can be specified for each action of GNUS (e.g.
  131.      selecting a newsgroup or selecting an article).  This is quite
  132.      useful if you are using a slow terminal since the update of Emacs
  133.      windows can be minimized by displaying these three windows same
  134.      time.
  135.  
  136.      The variable must be a list of `(ACTION (G S A))', where ACTION is
  137.      an action being performed, and G, S, and A are the relative
  138.      heights of the Group Mode window, the Subject Mode window, and the
  139.      Article Mode window, respectively.  ACTION is `SelectNewsgroup',
  140.      `ExitNewsgroup', `SelectArticle', or `ExpandSubject'.
  141.  
  142.      The following example is the default window configuration:
  143.  
  144.           (setq gnus-window-configuration
  145.                 '((SelectNewsgroup (0 1 0))
  146.                   (ExitNewsgroup   (1 0 0))
  147.                   (SelectArticle   (0 3 10))
  148.                   (ExpandSubject   (0 1 0))))
  149.  
  150.      The following is an example of yet another two windows mode.
  151.      Article buffer is always displayed on a screen.  This is useful on
  152.      a slow terminal.
  153.  
  154.           (setq gnus-window-configuration
  155.                 '((SelectNewsgroup (0 1 0))
  156.                   (ExitNewsgroup   (1 0 3))
  157.                   (SelectArticle   (0 1 3))
  158.                   (ExpandSubject   (0 1 0))))
  159.  
  160.      The following is an example of three windows mode.  Three buffers
  161.      are always displayed on a screen.  This is also useful on a slow
  162.      terminal.
  163.  
  164.           (setq gnus-window-configuration
  165.                 '((SelectNewsgroup (1 4 0))
  166.                   (ExitNewsgroup   (1 1 3))
  167.                   (SelectArticle   (1 1 3))
  168.                   (ExpandSubject   (1 4 0))))
  169.  
  170. `gnus-large-newsgroup'
  171.      Specifies the number of the articles which indicates a large
  172.      newsgroup.  If the number of articles in a newsgroup is greater
  173.      than this value, the number of articles to be selected is asked
  174.      for.  If the given value N is positive, the last N articles are
  175.      selected.  If N is negative, the first N articles are selected.
  176.      An empty string means to select all articles.
  177.  
  178. `gnus-author-copy'
  179.      Specifies a file name saving a copy of an article posted using
  180.      `FCC:' field.  The variable is initialized from the `AUTHORCOPY'
  181.      environment variable.  The specified file name is inserted in
  182.      `FCC:' field, so you have a chance to change the file name or
  183.      disable saving a copy by editing this field.
  184.  
  185.      If the first character of the value is not ``|'', the article is
  186.      saved to the specified file using the function specified by the
  187.      variable `gnus-author-copy-saver'.  The default function
  188.      `rmail-output' saves in Unix mailbox format.  Instead, if the
  189.      first character is ``|'', the contents of the article is send to a
  190.      program specified by the rest of the value.  For example, articles
  191.      can be saved in an MH folder by the following:
  192.  
  193.           (setq gnus-author-copy
  194.                 "|/usr/local/lib/mh/rcvstore +Article")
  195.  
  196. `gnus-author-copy-saver'
  197.      Specifies a function to save an author copy to.  The function is
  198.      called with a file name to save a copy to.  The default function
  199.      `rmail-output' saves in Unix mailbox format.
  200.  
  201. `gnus-use-long-file-name'
  202.      Non-`nil' means that a newsgroup name is used as a default file
  203.      name to save articles to.  If it is `nil', the directory form of a
  204.      newsgroup name is used instead.  It is set to nil by default if the
  205.      variable `system-type' is either `usg-unix-v' or `xenix'.
  206.  
  207. `gnus-mail-save-name'
  208. `gnus-rmail-save-name'
  209. `gnus-folder-save-name'
  210. `gnus-file-save-name'
  211.      Specifies a function generating a file name to save articles to.
  212.      The function is called with NEWSGROUP, HEADERS, and optional
  213.      LAST-NAME.  NEWSGROUP is a string representing the current
  214.      newsgroup name.  HEADERS is a vector containing headers of the
  215.      current article.  Macros and functions accessing contents of the
  216.      HEADERS are defined as `nntp-header-FIELD' and
  217.      `gnus-header-FIELD', respectively.  The following functions are
  218.      provided as file name generators by default:
  219.  
  220.     `gnus-numeric-save-name'
  221.           Return a file name like `NEWS.GROUP/NUMBER' or
  222.           `NEWS/GROUP/NUMBER' according to the variable
  223.           `gnus-use-long-file-name'.
  224.  
  225.     `gnus-Numeric-save-name'
  226.           Return a file name like `NEWS.GROUP/NUMBER' or
  227.           `NEWS/GROUP/NUMBER' according to the variable
  228.           `gnus-use-long-file-name'.
  229.  
  230.     `gnus-plain-save-name'
  231.           Return a file name like `NEWS.GROUP' or `NEWS/GROUP/news'
  232.           according to the variable `gnus-use-long-file-name'.
  233.  
  234.     `gnus-Plain-save-name'
  235.           Return a file name like `NEWS.GROUP' or `NEWS/GROUP/news'
  236.           according to the variable `gnus-use-long-file-name'.
  237.  
  238.     `gnus-folder-save-name'
  239.           Return a folder name like `+NEWS.GROUP' or `+NEWS/GROUP'
  240.           according to the variable `gnus-use-long-file-name'.
  241.  
  242.     `gnus-Folder-save-name'
  243.           Return a folder name like `+NEWS.GROUP' or `+NEWS/GROUP'
  244.           according to the variable `gnus-use-long-file-name'.
  245.  
  246. `gnus-default-article-saver'
  247.      Specifies a function to save articles in your favorite format
  248.      using the command `gnus-Subject-save-article'.  The function must
  249.      be interactively funcallable.  In other words, it must be an Emacs
  250.      command.  The functions currently provided are as follows:
  251.  
  252.     `gnus-Subject-save-in-mail'
  253.           Save articles in Unix mailbox format.
  254.  
  255.     `gnus-Subject-save-in-rmail'
  256.           Save articles in Rmail format.
  257.  
  258.     `gnus-Subject-save-in-folder'
  259.           Save articles in an MH folder.
  260.  
  261.     `gnus-Subject-save-in-file'
  262.           Save articles in article format.
  263.  
  264. `gnus-article-save-directory'
  265.      Specifies a directory name to save articles in using the commands
  266.      `gnus-Subject-save-in-mail', `gnus-Subject-save-in-rmail', and
  267.      `gnus-Subject-save-in-file'.  The variable is initialized from the
  268.      `SAVEDIR' environment variable.  Its default value is `~/News'.
  269.  
  270. `gnus-kill-file-name'
  271.      Specifies a file name of KILL file (*note KILL File::.).  Its
  272.      default value is `KILL'.
  273.  
  274. `gnus-default-distribution'
  275.      Specifies a distribution inserted automatically when no
  276.      distribution is specified.
  277.  
  278. `gnus-novice-user'
  279.      Non-`nil' means you are a novice to USENET.  If it is non-`nil',
  280.      verbose messages may be displayed or your confirmations may be
  281.      required.
  282.  
  283. `gnus-interactive-post'
  284.      Non-`nil' means that newsgroup, subject, and distribution are asked
  285.      for interactively when composing a new article.
  286.  
  287. `gnus-user-login-name'
  288.      Specifies your login name.  The login name is got from the `USER'
  289.      and `LOGNAME' environment variables and the function
  290.      `user-login-name', if undefined.
  291.  
  292. `gnus-user-full-name'
  293.      Specifies your full name.  The full name is got from the `NAME'
  294.      environment variable and the function `user-full-name', if
  295.      undefined.
  296.  
  297. `gnus-show-all-headers'
  298.      Non-`nil' means all headers of an article are shown.
  299.  
  300. `gnus-save-all-headers'
  301.      Non-`nil' means all headers of an article are saved in a file.
  302.  
  303. `gnus-show-threads'
  304.      Non-`nil' means conversation threads are displayed in a tree
  305.      structured form according to references in Subject Mode.
  306.  
  307. `gnus-thread-hide-subject'
  308.      Non-`nil' means subjects of lower level threads are hidden if the
  309.      thread-based reading is turned on.
  310.  
  311. `gnus-thread-hide-subtree'
  312.      Non-`nil' means thread subtrees are hidden initially.  If thread
  313.      subtrees are hidden, you have to run the command
  314.      `gnus-Subject-show-thread' by hand or by using
  315.      `gnus-Select-article-hook' to show them.
  316.  
  317. `gnus-thread-hide-killed'
  318.      Non-`nil' means killed thread subtrees are hidden automatically.
  319.  
  320. `gnus-thread-ignore-subject'
  321.      Non-`nil' means subject differences are ignored but only references
  322.      are taken into account in constructing threads trees.  If it is
  323.      non-`nil' and thread subtrees are hidden, some commands work with
  324.      subjects may not work properly.
  325.  
  326. `gnus-thread-indent-level'
  327.      Specifies indentation level of thread subtrees.
  328.  
  329. `gnus-auto-extend-newsgroup'
  330.      Non-`nil' means visible articles are automatically extended to
  331.      forward and backward if possible when the commands `N' and `P'
  332.      (`gnus-Subject-next-article' and `gnus-Subject-prev-article') are
  333.      executed in Subject Mode.
  334.  
  335. `gnus-auto-select-first'
  336.      Non-`nil' means the first unread article is selected automatically
  337.      when a newsgroup is selected.  If you'd like to prevent automatic
  338.      selection of the first unread article in some newsgroups, set the
  339.      variable to `nil' in the hook `gnus-Select-group-hook' or
  340.      `gnus-Apply-kill-hook' (*note Hooks::.).
  341.  
  342. `gnus-auto-select-next'
  343.      Non-`nil' means the next newsgroup is selected automatically at the
  344.      end of the newsgroup.  If the value is `t' and the next newsgroup
  345.      is empty (no unread articles), GNUS will exit Subject Mode and go
  346.      back to Group Mode.  If the value is neither `nil' nor `t', GNUS
  347.      won't exit Subject Mode but will select the following unread
  348.      newsgroup.  If the value is `quietly', the next unread newsgroup
  349.      will be selected without any confirmations.
  350.  
  351. `gnus-auto-select-same'
  352.      Non-`nil' means an article with the same subject as the current
  353.      article is selected automatically like `rn -S'.
  354.  
  355. `gnus-auto-center-subject'
  356.      Non-`nil' means that the cursor is always kept centered in the
  357.      Subject Mode window.
  358.  
  359. `gnus-break-pages'
  360.      Non-`nil' means an article is broken into pages at page delimiters.
  361.      The page delimiter is specified by the variable
  362.      `gnus-page-delimiter'.  This may not work with some versions of GNU
  363.      Emacs earlier than version 18.50.
  364.  
  365. `gnus-page-delimiter'
  366.      Specifies regexp describing line-beginnings that separate pages of
  367.      articles.  Its default value is `"^\^L"'.
  368.  
  369. `gnus-digest-show-summary'
  370.      Non-`nil' means that a summary of digest messages is shown when
  371.      reading a digest article using the command
  372.      `gnus-Subject-rmail-digest'.
  373.  
  374. `gnus-digest-separator'
  375.      Specifies a regexp which separates messages in a digest article.
  376.      Changes to this variable only affect the commands
  377.      `gnus-Subject-next-digest' and `gnus-Subject-prev-digest', but not
  378.      the command `gnus-Subject-rmail-digest'.
  379.  
  380. `gnus-optional-headers'
  381.      Specifies a function which generates an optional string displayed
  382.      in the Subject buffer.  The function is called with an article
  383.      HEADERS, and must return a string excluding `[' and `]'.  HEADERS
  384.      is a vector containing headers of the current article.  Macros and
  385.      functions accessing contents of the HEADERS are defined as
  386.      `nntp-header-FIELD' and `gnus-header-FIELD', respectively.
  387.  
  388.      GNUS provides two functions:
  389.  
  390.     `gnus-optional-lines-and-from'
  391.           Return a string like "NNN:AUTHOR", where NNN is the number of
  392.           lines in an article and AUTHOR is the name of the author.
  393.  
  394.     `gnus-optional-lines'
  395.           Return a string like "NNN", where NNN is the number of lines
  396.           in an article.
  397.  
  398.      *Note Hooks::, to change optional headers according to selected
  399.      newsgroups.
  400.  
  401. `gnus-Info-directory'
  402.      Specifies a directory where the GNUS Info file is placed.  It is
  403.      not necessary to change this variable unless you install an Info
  404.      file in a directory different from the variable `Info-directory'.
  405.      *Note Texinfo Manual::, for more information.
  406.  
  407. `gnus-mail-reply-method'
  408.      Specifies a function to begin composing reply mail messages.  The
  409.      function will be called with an optional argument which means yank
  410.      original article automatically if non-`nil'.  To use Mail Mode, set
  411.      the variable to `gnus-mail-reply-using-mail'.  To use mh-e letter
  412.      Mode, set the variable to `gnus-mail-reply-using-mhe'.
  413.  
  414. `gnus-mail-forward-method'
  415.      Specifies a function to forward the current message to another
  416.      user.  To use Mail Mode, set the variable to
  417.      `gnus-mail-forward-using-mail'.  To use mh-e letter Mode, set the
  418.      variable to `gnus-mail-forward-using-mhe'.
  419.  
  420. `gnus-mail-other-window-method'
  421.      Specifies a function to begin composing mail messages in other
  422.      window.  To use Mail Mode, set the variable to
  423.      `gnus-mail-other-window-using-mail'.  To use mh-e letter Mode, set
  424.      the variable to `gnus-mail-other-window-using-mhe'.
  425.  
  426. `gnus-subscribe-newsgroup-method'
  427.      Specifies a function called with a newsgroup name when a new
  428.      newsgroup is found.  GNUS provides the following three functions:
  429.  
  430.     `gnus-subscribe-randomly'
  431.           Inserts a new newsgroup at the beginning of newsgroups.  Thus,
  432.           newsgroups are in random order.
  433.  
  434.     `gnus-subscribe-alphabetically'
  435.           Inserts a new newsgroup in strict alphabetic order.
  436.  
  437.     `gnus-subscribe-hierarchically'
  438.           Inserts a new newsgroup in hierarchical newsgroup order.
  439.  
  440.      The following two definitions illustrate how to write your favorite
  441.      subscribing method.  The following definition (is the definition
  442.      of the function gnus-subscribe-randomly) adds new newsgroup at the
  443.      beginning of newsgroups:
  444.  
  445.           (setq gnus-subscribe-newsgroup-method
  446.                 (function
  447.                  (lambda (newsgroup)
  448.                    (gnus-subscribe-newsgroup newsgroup
  449.                                              (car (car gnus-newsrc-assoc))))))
  450.  
  451.      Instead, if you want to add new newsgroup at the end of
  452.      newsgroups, use the following:
  453.  
  454.           (setq gnus-subscribe-newsgroup-method
  455.                 (function
  456.                  (lambda (newsgroup)
  457.                    (gnus-subscribe-newsgroup newsgroup nil))))
  458.  
  459.      If you want to prevent adding new newsgroups automatically and
  460.      want to subscribe them later using the command `U'
  461.      (`gnus-Group-unsubscribe-group') in the Newsgroup buffer, use the
  462.      following:
  463.  
  464.           (setq gnus-subscribe-newsgroup-method
  465.                 (function (lambda (newsgroup) nil))) ;Do nothing.
  466.  
  467.      The following final example must be the most useful for you who
  468.      want not to add new newsgroups automatically.  This definition
  469.      subscribes a new newsgroup first, and then kills it.  The killed
  470.      newsgroups can be added to the subscription list interactively
  471.      using Browse-Killed Mode (*note Maintenance::.).
  472.  
  473.           (setq gnus-subscribe-newsgroup-method
  474.                 (function
  475.                  (lambda (newsgroup)
  476.                    (gnus-subscribe-newsgroup newsgroup)
  477.                    (gnus-kill-newsgroup newsgroup))))
  478.  
  479. 
  480. File: gnus.info,  Node: NNTP Variables,  Next: Spool Variables,  Prev: Variables,  Up: Customization
  481.  
  482. NNTP Specific Variables
  483. =======================
  484.  
  485. `nntp-large-newsgroup'
  486.      Specifies the number of articles which indicates a large
  487.      newsgroup.  If the number of articles is greater than the value,
  488.      verbose messages will be shown to indicate the current status.
  489.  
  490. `nntp-buggy-select'
  491.      Non-`nil' means the select routine of your operating system is
  492.      buggy.  GNUS may hang up while waiting for NNTP server responses.
  493.      The problem may be solved by setting the variable to `t'.  *Note
  494.      NNTP Problems::, for more information.
  495.  
  496. `nntp-maximum-request'
  497.      Specifies the maximum number of requests to be sent to the NNTP
  498.      server at one time.  GNUS may hang up while retrieving headers of
  499.      a large newsgroup because sending many requests to the NNTP server
  500.      without reading replies to them causes deadlock.  In this case,
  501.      set the variable to a lower number.  *Note NNTP Problems::, for
  502.      more information.
  503.  
  504. `nntp-debug-read'
  505.      Non-`nil' means show the communication status about reading the
  506.      NNTP server output.  Set the variable to `nil' if you are annoyed
  507.      about verbose messages while reading news from slow terminal.
  508.  
  509. `tcp-program-name'
  510.      Specifies a program which establishes communications between Emacs
  511.      and the NNTP server.  Its default value is `tcp' which is
  512.      distributed as `tcp.c' with other files of GNUS (*note Files of
  513.      GNUS::.).  If your Emacs has the function `open-network-stream',
  514.      there is no need to define this variable.
  515.  
  516. 
  517. File: gnus.info,  Node: Spool Variables,  Next: Directory Variables,  Prev: NNTP Variables,  Up: Customization
  518.  
  519. Local News Spool Specific Variables
  520. ===================================
  521.  
  522. `nnspool-inews-program'
  523.      Specifies a program to post news.  This is default to the variable
  524.      `news-inews-program' which is default to `inews'.
  525.  
  526. `nnspool-inews-switches'
  527.      Specifies switches for the function `nnspool-request-post' to pass
  528.      to the command `inews' for posting news.  Its default value is
  529.      `("-h")'.
  530.  
  531. `nnspool-spool-directory'
  532.      Specifies a directory of a local news spool.  This is default to
  533.      the variable `news-path' which is default to `/usr/spool/news'.
  534.  
  535. `nnspool-active-file'
  536.      Specifies an active file of the Bnews system for a local news
  537.      spool.  Its default value is `/usr/lib/news/active'.
  538.  
  539. `nnspool-history-file'
  540.      Specifies a history file of the Bnews system for a local news
  541.      spool.  Its default value is `/usr/lib/news/history'.  Some
  542.      machines may not have this file.  In this case, commands to refer
  543.      to articles by Message-IDs will not work at all (*note Referencing
  544.      Articles::.).
  545.  
  546. 
  547. File: gnus.info,  Node: Directory Variables,  Next: Hooks,  Prev: Spool Variables,  Up: Customization
  548.  
  549. Private Directory Specific Variables
  550. ====================================
  551.  
  552. `mhspool-list-directory-switches'
  553.      Specifies switches for the function `mhspool-request-list' to pass
  554.      to the command `ls' for getting file listings in a private
  555.      directory.  There should be one entry for each line.  Its default
  556.      value is `("-R")'.  Some machines may require the `("-R1")' switch.
  557.  
  558. 
  559. File: gnus.info,  Node: Hooks,  Prev: Directory Variables,  Up: Customization
  560.  
  561. Function Hooks
  562. ==============
  563.  
  564. `gnus-Group-mode-hook'
  565.      Called with no arguments after initializing Group Mode if its
  566.      value is non-`nil'.  This hook is intended to customize Group Mode
  567.      only once.  It is possible to define or change the NNTP server as
  568.      you like in this hook since the hook is called before GNUS is
  569.      connected to an NNTP server.
  570.  
  571. `gnus-Subject-mode-hook'
  572.      Called with no arguments after initializing Subject Mode if its
  573.      value is non-`nil'.  This hook is intended to customize Subject
  574.      Mode only once.  All sorts of searches in Subject Mode normally
  575.      ignore the case of the text they are searching through.  If you do
  576.      not want to ignore the case, set the variable `case-fold-search'
  577.      to `nil' in this hook.
  578.  
  579.      The following example shows how to assign the functions
  580.      `gnus-Subject-next-group' and `gnus-Subject-prev-group' to keys in
  581.      Subject Mode.
  582.  
  583.           (setq gnus-Subject-mode-hook
  584.                 (function
  585.                  (lambda ()
  586.                    (local-set-key "\C-cn" 'gnus-Subject-next-group)
  587.                    (local-set-key "\C-cp" 'gnus-Subject-prev-group))))
  588.  
  589. `gnus-Article-mode-hook'
  590.      Called with no arguments after initializing Article Mode if its
  591.      value is non-`nil'.  This hook is intended to customize Article
  592.      Mode only once.
  593.  
  594.      Displaying the current time in the mode line of buffers is
  595.      disabled in the Article buffer and the Subject buffer to show
  596.      information on the current newsgroup and the current article.  If
  597.      you want to display the current time in the mode line of the
  598.      Article buffer, make the variable `global-mode-string' no longer
  599.      have a separate value in the buffer as follows:
  600.  
  601.           (setq gnus-Article-mode-hook
  602.                 (function
  603.                  (lambda ()
  604.                    (kill-local-variable 'global-mode-string))))
  605.  
  606. `gnus-Kill-file-mode-hook'
  607.      Called with no arguments after initializing KILL-File Mode if its
  608.      value is non-`nil'.
  609.  
  610. `gnus-Browse-killed-mode-hook'
  611.      Called with no arguments after initializing Browse-Killed Mode if
  612.      its value is non-`nil'.
  613.  
  614. `gnus-Open-server-hook'
  615.      Called with no arguments just before opening a connection to NNTP
  616.      server if its value is non-`nil'.
  617.  
  618. `gnus-Startup-hook'
  619.      Called with no arguments after an NNTP server is successfully
  620.      connected to if its value is non-`nil'.  It is possible to change
  621.      the behavior of GNUS according to the server.
  622.  
  623. `gnus-Group-prepare-hook'
  624.      Called with no arguments after a list of newsgroups is prepared in
  625.      the Newsgroup buffer.  This hook is intended to modify the buffer.
  626.  
  627. `gnus-Subject-prepare-hook'
  628.      Called with no arguments after list of subjects is prepared in the
  629.      Subject buffer.  This hook is intended to modify the buffer.
  630.  
  631. `gnus-Article-prepare-hook'
  632.      Called with no arguments after an article is prepared in the
  633.      Article buffer.  This hook is intended to modify the buffer.  For
  634.      example, kanji code conversion or un-ROT13-ing can be done in this
  635.      hook.
  636.  
  637. `gnus-Select-group-hook'
  638.      Called with no arguments when a newsgroup is selected.  This hook
  639.      is intended to change the behavior of GNUS according to the
  640.      selected newsgroup.
  641.  
  642.      The following is an example of sorting the headers listed in the
  643.      Subject buffer by date and then by subject.  Preceding `Re:' of
  644.      subjects is ignored while comparing subjects.
  645.  
  646.           (setq gnus-Select-group-hook
  647.                 (function
  648.                  (lambda ()
  649.                    ;; First of all, sort by date.
  650.                    (gnus-sort-headers
  651.                     (function
  652.                      (lambda (a b)
  653.                        (gnus-date-lessp (gnus-header-date a)
  654.                                         (gnus-header-date b)))))
  655.                    ;; Then sort by subject ignoring `Re:'.
  656.                    (gnus-sort-headers
  657.                     (function
  658.                      (lambda (a b)
  659.                        (gnus-string-lessp
  660.                         (gnus-simplify-subject
  661.                          (gnus-header-subject a) 're-only)
  662.                         (gnus-simplify-subject
  663.                          (gnus-header-subject b) 're-only)
  664.                         )))))))
  665.  
  666.      The following is an example of simplifying subjects like the
  667.      `gnus-Subject-next-same-subject' command does:
  668.  
  669.           (setq gnus-Select-group-hook
  670.                 (function
  671.                  (lambda ()
  672.                    (mapcar (function
  673.                             (lambda (header)
  674.                               (nntp-set-header-subject
  675.                                header
  676.                                (gnus-simplify-subject
  677.                                 (gnus-header-subject header) 're-only))))
  678.                            gnus-newsgroup-headers))))
  679.  
  680.      In some newsgroups, author names are meaningless.  It is possible
  681.      to prevent listing author names in the Subject buffer as follows:
  682.  
  683.           (setq gnus-Select-group-hook
  684.                 (function
  685.                  (lambda ()
  686.                    (cond ((string-equal "comp.sources.unix"
  687.                                         gnus-newsgroup-name)
  688.                           (setq gnus-optional-headers
  689.                                 (function gnus-optional-lines)))
  690.                          (t
  691.                           (setq gnus-optional-headers
  692.                                 (function
  693.                                  gnus-optional-lines-and-from)))))))
  694.  
  695. `gnus-Select-article-hook'
  696.      Called with no arguments when an article is selected if its value
  697.      is non-`nil'.
  698.  
  699.      The default hook definition shows conversation thread subtrees of
  700.      the selected article automatically as follows:
  701.  
  702.           (setq gnus-Select-article-hook
  703.                 (function
  704.                  (lambda ()
  705.                    (gnus-Subject-show-thread))))
  706.  
  707.      It is possible to run Rmail on a digest article automatically as
  708.      follows:
  709.  
  710.           (setq gnus-Select-article-hook
  711.                 (function
  712.                  (lambda ()
  713.                    (gnus-Subject-show-thread)
  714.                    (cond ((string-equal "comp.sys.sun"
  715.                                         gnus-newsgroup-name)
  716.                           (gnus-Subject-rmail-digest))
  717.                          ((and (string-equal "comp.text"
  718.                                              gnus-newsgroup-name)
  719.                                (string-match "^TeXhax Digest"
  720.                                              (gnus-header-subject
  721.                                               gnus-current-headers)))
  722.                           (gnus-Subject-rmail-digest)
  723.                           )))))
  724.  
  725. `gnus-Select-digest-hook'
  726.      Called with no arguments when reading digest messages using Rmail
  727.      if its value is non-`nil'.  This hook is intended to modify an
  728.      article so that Rmail can work with it.  *Note Digest Articles::,
  729.      for more information on digest articles.
  730.  
  731.      The following example is the default hook definition to modify
  732.      incomplete digest articles:
  733.  
  734.           (setq gnus-Select-digest-hook
  735.                 (function
  736.                  (lambda ()
  737.                    ;; Reply-To: is required by
  738.                    ;; `undigestify-rmail-message'.
  739.                    (or (mail-position-on-field "Reply-to" t)
  740.                        (progn
  741.                          (mail-position-on-field "Reply-to")
  742.                          (insert (gnus-fetch-field "From")))))))
  743.  
  744. `gnus-Rmail-digest-hook'
  745.      Called with no arguments when reading digest messages using Rmail
  746.      if its value is non-`nil'.  This hook is intended to customize
  747.      Rmail Mode for reading digest articles.
  748.  
  749. `gnus-Apply-kill-hook'
  750.      Called with no arguments when a newsgroup is selected and the
  751.      Subject buffer is prepared if its value is non-`nil'.  This hook
  752.      is intended to apply KILL files to the selected newsgroup.  It is
  753.      set to the function `gnus-apply-kill-file' by default.
  754.  
  755.      Since a general KILL file is too heavy to use only for a few
  756.      newsgroups, a lighter hook function is recommended.  For example,
  757.      if you'd like to apply kills to articles which contain the string
  758.      `rmgroup' in subject in newsgroup `control', you can use the
  759.      following hook:
  760.  
  761.           (setq gnus-Apply-kill-hook
  762.                 (function
  763.                  (lambda ()
  764.                    (cond ((string-match "control" gnus-newsgroup-name)
  765.                           (gnus-kill "Subject" "rmgroup")
  766.                           (gnus-expunge "X"))))))
  767.  
  768.      *Note KILL File::, for more information on KILL files.
  769.  
  770. `gnus-Mark-article-hook'
  771.      Called with no arguments when an article is selected for the first
  772.      time if its value is non-`nil'.  The hook is intended to mark an
  773.      article as read (or unread) automatically when it is selected.
  774.  
  775.      The following example is the default definition of the hook:
  776.  
  777.           (setq gnus-Mark-article-hook
  778.                 (function
  779.                  (lambda ()
  780.                    ;; Mark the selected article as read.
  781.                    (or (memq gnus-current-article gnus-newsgroup-marked)
  782.                        (gnus-Subject-mark-as-read gnus-current-article))
  783.                    ;; Put "+" on the current subject.
  784.                    (gnus-Subject-set-current-mark "+"))))
  785.  
  786.      It is possible to mark as unread (`-') instead when an article is
  787.      selected as follows:
  788.  
  789.           (setq gnus-Mark-article-hook
  790.                 (function
  791.                  (lambda ()
  792.                    ;; Mark the selected article as unread.
  793.                    (gnus-Subject-mark-as-unread gnus-current-article)
  794.                    ;; Put "+" on the current subject.
  795.                    (gnus-Subject-set-current-mark "+"))))
  796.  
  797. `gnus-Inews-article-hook'
  798.      Called with no arguments before posting an article if its value is
  799.      non-`nil'.  This hook is called just before sending an article to
  800.      the NNTP server or calling the `inews' program, while the hook
  801.      `news-inews-hook' is called before preparing article headers.  This
  802.      hook is intended to run special encoding programs such as kanji
  803.      code conversion on the article.
  804.  
  805. `gnus-Exit-group-hook'
  806.      Called with no arguments when exiting the current newsgroup if its
  807.      value is non-`nil'.  If your machine is so slow that exiting from
  808.      Subject Mode takes a long time, you can inhibit marking articles
  809.      as read by using cross-reference information in the `Xref:' field
  810.      by setting the variable `gnus-newsgroup-headers' to `nil' in this
  811.      hook.
  812.  
  813. `gnus-Exit-gnus-hook'
  814.      Called with no arguments when exiting GNUS if its value is
  815.      non-`nil'.  If you want to clear out Emacs buffers which were
  816.      created by GNUS and remain afterwards, you can use this hook.
  817.  
  818.      The following example shows how to kill a buffer which was used for
  819.      posting news.
  820.  
  821.           (setq gnus-Exit-gnus-hook
  822.                 (function
  823.                  (lambda ()
  824.                    ;; Kill a buffer used for posting news.
  825.                    (and (get-buffer "*post-news*")
  826.                         (kill-buffer "*post-news*")))))
  827.  
  828. `gnus-Suspend-gnus-hook'
  829.      Called with no arguments when suspending GNUS if its value is
  830.      non-`nil'.  The purpose is the same as the hook
  831.      `gnus-Exit-gnus-hook'.
  832.  
  833. `gnus-Save-newsrc-hook'
  834.      Called with no arguments before saving the startup file `.newsrc'
  835.      if its value is non-`nil'.  This hook is intended to change the way
  836.      of backing up the startup file.
  837.  
  838. `nntp-server-hook'
  839.      Called with no arguments when the connection between Emacs and the
  840.      NNTP server is established if its value is non-`nil'.  This hook is
  841.      intended to change the kanji code of a buffer associated with the
  842.      stream.  Use the variable `nntp-server-name' to refer to the name
  843.      of the NNTP server in this hook.  *Note Kanji Handling::, for more
  844.      information.
  845.  
  846. 
  847. File: gnus.info,  Node: Problems,  Next: Reporting Bugs,  Prev: Customization,  Up: Top
  848.  
  849. Troubleshooting
  850. ***************
  851.  
  852.    Some common problems and their solutions are described.  If you have
  853. any other problems which are not described here and cannot solve them by
  854. yourself, *note Reporting Bugs::..
  855.  
  856. * Menu:
  857.  
  858. * NNTP Problems::       Problems with NNTP.
  859. * Kanji Handling::      Problems with kanji handling.
  860. * Preloading::          Problems with preloading GNUS.
  861.  
  862. 
  863. File: gnus.info,  Node: NNTP Problems,  Next: Kanji Handling,  Prev: Problems,  Up: Problems
  864.  
  865. NNTP Problems
  866. =============
  867.  
  868. Infinite Loop Caused by Buggy Select Routine
  869. --------------------------------------------
  870.  
  871.    Emacs may hang up while waiting for NNTP server responses.  This may
  872. be caused by a buggy select routine of your operating system.  If so,
  873. the problem may be solved by using source codes of `nntp.el' instead of
  874. byte-compiled codes.  If you still have problems with it, set the
  875. variable `nntp-buggy-select' to `t'.
  876.  
  877. Deadlock Caused by Packet Overflow
  878. ----------------------------------
  879.  
  880.    Emacs may hang up while retrieving headers of a large newsgroup.  The
  881. reason is that too many requests have been sent to the NNTP server
  882. without reading replies to them.  This causes a deadlock of Emacs and
  883. the server.  In this case, the number of requests sent to the server at
  884. one time must be reduced.  Set the variable `nntp-maximum-request' to a
  885. lower value than the default.  The optimal value depends on your
  886. computing environment.
  887.  
  888. 
  889. File: gnus.info,  Node: Kanji Handling,  Next: Preloading,  Prev: NNTP Problems,  Up: Problems
  890.  
  891. Kanji Handling
  892. ==============
  893.  
  894.    Kanji handling scheme is different in each implementation of Japanese
  895. GNU Emacs.  Moreover, in some case the scheme may be different in each
  896. version of the same implementations.  Make sure which implementation and
  897. version you are using.
  898.  
  899. * Menu:
  900.  
  901. * NEmacs2::             Kanji handling in NEmacs 2.1.
  902. * NEmacs3::             Kanji handling in NEmacs 3.0.
  903. * SX/A Emacs::          Kanji handling in SX/A Emacs.
  904.  
  905. 
  906. File: gnus.info,  Node: NEmacs2,  Next: NEmacs3,  Prev: Kanji Handling,  Up: Kanji Handling
  907.  
  908. Kanji Handling In NEmacs 2.1
  909. ----------------------------
  910.  
  911.    If the kanji code of articles stored in the NNTP server is different
  912. from your private file kanji code, the correct kanji code of the buffer
  913. associated with the NNTP stream must be specified using the hook
  914. `nntp-server-hook' as follows:
  915.  
  916.      (setq nntp-server-hook
  917.            (function
  918.             (lambda ()
  919.               ;; Server's Kanji code is EUC (NEmacs hack).
  920.               (make-local-variable 'kanji-fileio-code)
  921.               (setq kanji-fileio-code 0))))
  922.  
  923. If you use a local news spool in stead of NNTP, the following additional
  924. hook is required to post an article in the correct kanji code in any
  925. case:
  926.  
  927.      (setq gnus-Inews-article-hook
  928.            (function
  929.             (lambda ()
  930.               (save-excursion
  931.                 (set-buffer nntp-server-buffer)
  932.                 (make-local-variable 'kanji-fileio-code)
  933.                 (setq kanji-fileio-code 0)   ;EUC
  934.                 ))))
  935.  
  936.    The variable `nntp-server-name' is a buffer local variable holding a
  937. host name running an NNTP server.  Use this variable to change the
  938. kanji code according to the server.  The following example shows how to
  939. change the kanji code using this variable.
  940.  
  941.      (setq nntp-server-hook
  942.            (function
  943.             (lambda ()
  944.               (make-local-variable 'kanji-fileio-code)
  945.               (cond ((string-equal nntp-server-name "foo")
  946.                      (setq kanji-fileio-code 0)) ;EUC
  947.                     ((string-equal nntp-server-name "bar")
  948.                      (setq kanji-fileio-code 1)) ;Shift-JIS
  949.                     (t
  950.                      (setq kanji-fileio-code 2)) ;JIS
  951.                     ))))
  952.  
  953. 
  954. File: gnus.info,  Node: NEmacs3,  Next: SX/A Emacs,  Prev: NEmacs2,  Up: Kanji Handling
  955.  
  956. Kanji Handling In NEmacs 3.0
  957. ----------------------------
  958.  
  959.    The author has less experiences with NEmacs 3.0.  So, the following
  960. description may be wrong.  If you find any mistakes, please let the
  961. author know (*note Reporting Bugs::.).
  962.  
  963.    In NEmacs 3.0, the kanji code of articles stored in the NNTP server
  964. must be specified according to both the service name (or number) and the
  965. host name running the server.  For this, the function
  966. `define-service-kanji-code' is provided.
  967.  
  968.    The following example specifies the kanji code of the host `flab' as
  969. JIS using this function:
  970.  
  971.      (define-service-kanji-code "nntp" "flab" 2)      ;2 stands for JIS.
  972.  
  973. 
  974. File: gnus.info,  Node: SX/A Emacs,  Prev: NEmacs3,  Up: Kanji Handling
  975.  
  976. Kanji Handling In SX/A Emacs
  977. ----------------------------
  978.  
  979.    If the kanji code of articles stored in the NNTP server is not EUC,
  980. it must be converted to EUC in an Emacs buffer after being read into the
  981. buffer.  The kanji code of articles being posted must be also converted
  982. to the server specific kanji code in an Emacs buffer before actually
  983. being sent to the server.  The following examples show how to do these
  984. using hooks:
  985.  
  986.      (setq gnus-Article-prepare-hook
  987.            (function
  988.             (lambda ()
  989.               (call-process-region (point-min) (point-max)
  990.                                    "nkf" t t nil "-e" ;-e stands for EUC.
  991.                                    ))))
  992.      (setq gnus-Inews-article-hook
  993.            (function
  994.             (lambda ()
  995.               (call-process-region (point-min) (point-max)
  996.                                    "nkf" t t nil "-j" ;-j stands for JIS.
  997.                                    ))))
  998.  
  999. In this example, `nkf' (Network Kanji Filter) is used as a kanji code
  1000. converter, and the kanji code of the NNTP server is JIS.
  1001.  
  1002. 
  1003. File: gnus.info,  Node: Preloading,  Prev: Kanji Handling,  Up: Problems
  1004.  
  1005. Preloading GNUS
  1006. ===============
  1007.  
  1008.    Basically, GNUS is not designed to be preloaded.  For instance, if
  1009. you preload `gnus.el', some user variables which are initialized from
  1010. environment variables may be improperly initialized according to your
  1011. environment definitions.  The variables `gnus-nntp-server',
  1012. `gnus-author-copy', and `gnus-article-save-directory' are such
  1013. variables.
  1014.  
  1015.    To prevent GNUS from being initialized from your definitions, you
  1016. should `unsetenv' related environment variables before preloading GNUS,
  1017. or set the variables to `nil' after loading GNUS.
  1018.  
  1019. 
  1020. File: gnus.info,  Node: Reporting Bugs,  Next: Key Index,  Prev: Problems,  Up: Top
  1021.  
  1022. Reporting Bugs
  1023. **************
  1024.  
  1025. Mailing Lists and USENET Newsgroup
  1026. ==================================
  1027.  
  1028.    There are two mailing lists and one USENET newsgroup for discussing
  1029. GNUS related topics.  These are intended for exchanging useful
  1030. information about GNUS, such as bug reports, useful hooks, and
  1031. extensions of GNUS.  If you have any questions or problems, feel free to
  1032. ask about them.  Suggestions are also welcome.
  1033.  
  1034. `gnu.emacs.gnus'
  1035.      This is a USENET newsgroup under the gnu.all hierarchy which is
  1036.      concerned with the GNU Project of the Free Software Foundation.
  1037.  
  1038. `info-gnus-english@tut.cis.ohio-state.edu'
  1039.      This is an Internet mailing list which is gated bi-directionally
  1040.      with the gnu.emacs.gnus newsgroup.  English is the official
  1041.      language of the list.  Please send subscription requests to:
  1042.  
  1043.           info-gnus-english-request@tut.cis.ohio-state.edu
  1044.  
  1045. `info-gnus@flab.Fujitsu.CO.JP'
  1046.      This is a JUNET mailing list.  Messages of info-gnus-english and
  1047.      gnu.emacs.gnus are forwarded to this list.  English and Japanese
  1048.      are the official languages of the list.  Please send subscription
  1049.      requests to:
  1050.  
  1051.           info-gnus-request@flab.Fujitsu.CO.JP
  1052.  
  1053.    The major difference between info-gnus-english/gnu.emacs.gnus and
  1054. info-gnus is the official language.  There is no need to subscribe to
  1055. info-gnus if you cannot read messages written in Japanese since most
  1056. discussions and important announcements will be sent to
  1057. info-gnus-english.
  1058.  
  1059. How to Report a Bug
  1060. ===================
  1061.  
  1062.    If you find a bug, it is important to report it and to report it in a
  1063. way which is useful.  If it is a bug of a lisp program, what is the most
  1064. useful is an exact backtrace information of the lisp program with the
  1065. version number of GNUS that you are using.
  1066.  
  1067.    To make the backtrace information, you must set the Emacs variable
  1068. `debug-on-error' to `t' before the error happens.  A backtrace obtained
  1069. from a byte-compiled lisp program is not usually understandable.  To
  1070. make a human readable backtrace, load the source program which is not
  1071. byte-compiled yet and then produce the error.
  1072.  
  1073.    *note Reporting Bugs: (emacs)Bugs, for more information.
  1074.  
  1075.